package com.ts.api.common.constant.common;

import com.gitee.apanlh.util.base.Eq;

/**
 *  通用开关枚举类
 *
 *  @author Pan
 */
public enum SwitchEnum {

    /** 禁用(null值) */
    DISABLE_NULL(null),
    /** 禁用(-1值) */
    DISABLE_NEGATIVE(-1),
    /** 禁用 */
    DISABLE(0),
    /** 启用 */
    ENABLE(1);

    /** env */
    private final Integer type;

    /**
     * 构造函数
     *
     * @param type
     */
    private SwitchEnum(Integer type) {
        this.type = type;
    }

    public Integer getType() {
        return type;
    }

    public boolean hasType(Integer apiEnvType) {
        return this.getType().equals(apiEnvType);
    }

    public static boolean hasEnable(Integer nowStatus) {
        return Eq.object(SwitchEnum.ENABLE.getType(), nowStatus);
    }

    public static boolean hasDisable(Integer nowStatus) {
        return Eq.object(SwitchEnum.DISABLE.getType(), nowStatus)
                || Eq.object(SwitchEnum.DISABLE_NEGATIVE.getType(), nowStatus)
                || Eq.object(SwitchEnum.DISABLE_NULL.getType(), nowStatus);
    }
}
